home *** CD-ROM | disk | FTP | other *** search
/ Corel Draw 5 / Corel Draw 5 CD2.iso / qtour / setup.mst < prev    next >
Text File  |  1994-04-27  |  9KB  |  304 lines

  1. '**************************************************************************
  2. '*                  Corel QuickTour 5 -  Setup
  3. '**************************************************************************
  4. '$INCLUDE 'setupapi.inc'
  5. '$INCLUDE 'mscpydis.inc'    ''System
  6. '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  7.  
  8. ''Dialog ID's
  9. CONST WELCOME       = 100
  10. CONST ASKQUIT       = 200
  11. CONST DESTPATH      = 300
  12. CONST EXITFAILURE   = 400
  13. CONST EXITQUIT      = 600
  14. CONST EXITSUCCESS   = 700
  15. CONST APPHELP       = 900
  16. CONST CHECK         = 2500
  17. CONST SMALLWIN      = 2200
  18. CONST RESTART       = 2600
  19. CONST RESTARTII     = 2700
  20. CONST BADPATH       = 6400
  21.  
  22. ''Bitmap ID
  23. CONST LOGO = 1
  24.  
  25. GLOBAL SizeReq&  '' Total Disk Size required for installation
  26.  
  27. ''File Types
  28. GLOBAL DESTQT$
  29. GLOBAL WinDir$
  30. GLOBAL WinSysDir$
  31. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  32. GLOBAL CHECKSTATES$
  33. GLOBAL cdromdrive$
  34.  
  35. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  36. WinDir$ = GetWindowsDir()
  37. DEST$ = GetWindowsDir()
  38. WinSysDir$ = GetWindowsSysDir()
  39.  
  40. WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  41. cdromdrive$ = MID$(SrcDir$, 1, 3)
  42. DESTQT$ = WINDRIVE$ + ":\corel50\qtour"
  43.  
  44. DECLARE SUB Install
  45. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  46. DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
  47. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  48. DECLARE SUB Reboot LIB "iniupd.dll"
  49. DECLARE fUNCTION ExitWindowsExec  LIB "User" (Exec$, Param$) AS INTEGER
  50.  
  51. INIT:
  52.   
  53.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  54.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  55.     
  56.     WIN32ENABLED% = 0
  57.     MajorVer% = GetWindowsMajorVersion()
  58.     MinorVer% = GetWindowsMinorVersion()
  59.  
  60.     IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  61.     i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  62.     END
  63.     END IF
  64.  
  65.     IF OnWindowsNT() THEN
  66.       i% = DoMsgBox("This version of Corel QuickTour does not run on Windows NT.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  67.       END
  68.     END IF
  69.  
  70.     SetBitmap CUIDLL$, LOGO
  71.     SetTitle "Corel QuickTour Installation"
  72.  
  73.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  74.     IF szInf$ = "" THEN
  75.        szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  76.     END IF
  77.     ReadInfFile szInf$
  78.  
  79. WELCOME:
  80.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  81.     IF sz$ = "CONTINUE" THEN
  82.        UIPop 1
  83.      ELSE
  84.     GOSUB ASKQUIT
  85.     GOTO WELCOME
  86.     END IF
  87.  
  88. '' added by don
  89. GETPATH:
  90.     SetSymbolValue "EditTextIn", DESTQT$
  91.     SetSymbolValue "EditFocus", "END"
  92. GETPATHL1:
  93.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  94.     DESTqt$ = GetSymbolValue("EditTextOut")
  95.  
  96.     IF sz$ = "CONTINUE" THEN
  97.     IF IsDirWritable(DESTQT$) = 0 THEN
  98.         GOSUB BADPATH
  99.         GOTO GETPATHL1
  100.     END IF
  101.     UIPop 1
  102.     ELSEIF sz$ = "REACTIVATE" THEN
  103.     GOTO GETPATHL1
  104.     ELSEIF sz$ = "BACK" THEN
  105.     UIPop 1
  106.     GOTO WELCOME
  107.     ELSE
  108.     GOSUB ASKQUIT
  109.     GOTO GETPATH
  110.     END IF
  111. '' end added by don
  112.  
  113.  
  114.  
  115. ''Prepare Copy list and check size
  116.  
  117.     ClearCopyList
  118.  
  119. ''  Runtime files (on Windows disk)
  120.  
  121.     CreateDir DESTQT$, cmoNone
  122.  
  123.     AddSectionFilesToCopyList "VfW Runtime", SrcDir$, WinSysDir$
  124.     AddSectionFilesToCopyList "OLE2", SrcDir$, WinSysDir$
  125.     AddSectionFilesToCopyList "ACM Drivers", SrcDir$, WinSysDir$
  126.     AddSectionFilesToCopyList "MPlayer", SrcDir$, WinDir$
  127.     AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
  128.     AddSectionFilesToCopyList "Indeo-ini", SrcDir$, WinDir$
  129.     AddSectionFilesToCopyList "qtdir", SrcDir$, DESTQT$
  130.     
  131. ''  Check windrive diskspace
  132.     SizeReq& = GetCopyListCost ("","", "")
  133.     IF SizeReq& <> 0 THEN
  134.     GOSUB SMALLWIN
  135.     END
  136.     END IF
  137.  
  138. Install
  139.  
  140. '' Restart Windows: if it has to updates ACM from DOS, it restarts Windows automatically
  141. '' else, it gives the user the choice
  142.     RESTRT% = RestartListEmpty ()
  143.     Exe$ = DEST$ + "\_msrstrt.exe"
  144.     Batch$ = DEST$ + "\_mssetup.bat"
  145.     empty$ = ""
  146. RESTART:
  147.     IF RESTRT% = 0 THEN
  148.        sz$ = UIStartDlg(cuidll$, RESTART, "FInfo0DlgProc", 0, "")
  149.        IF sz$ = "REACTIVATE" THEN
  150.       GOTO RESTART
  151.        ENDIF
  152.        I% = ExitExecRestart ()
  153.        RemoveFile Exe$, cmoForce
  154.        RemoveFile Batch$, cmoForce
  155.        END
  156.     ELSE
  157.        sz$ = UIStartDlg(CUIDLL$, RESTARTII, "FQuitDlgProc", 0, "")
  158.        IF sz$ = "CONTINUE" THEN
  159.       I% = ExitWindowsExec (Exe$, empty$)
  160.       IF I% = 0 THEN
  161.          GOTO RESTART
  162.       ELSE
  163.          END
  164.      ENDIF
  165.        ELSEIF sz$ = "EXIT" THEN
  166.       UIPopAll
  167.       END
  168.        ELSEIF sz$ = "REACTIVATE" THEN
  169.       GOTO RESTART
  170.        ELSE
  171.       UIPop 1
  172.        END IF
  173.     END IF
  174.  
  175.  
  176. QUIT:
  177.     ON ERROR GOTO ERRQUIT
  178.  
  179.     IF ERR = 0 THEN
  180.     dlg% = EXITSUCCESS
  181.     ELSEIF ERR = STFQUIT THEN
  182.     dlg% = EXITQUIT
  183.     ELSE
  184.     dlg% = EXITFAILURE
  185.     END IF
  186. QUITL1:
  187.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  188.     IF sz$ = "REACTIVATE" THEN
  189.     GOTO QUITL1
  190.     END IF
  191.     UIPop 1
  192.     END
  193.  
  194. ERRQUIT:
  195.     i% = DoMsgBox("An installation problem occured, call the product support service", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  196.     END
  197.  
  198.  
  199. ASKQUIT:
  200.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  201.  
  202.     IF sz$ = "EXIT" THEN
  203.     UIPopAll
  204. ''        ERROR STFQUIT
  205.     END
  206.     ELSEIF sz$ = "REACTIVATE" THEN
  207.     GOTO ASKQUIT
  208.     ELSE
  209.     UIPop 1
  210.     END IF
  211.     RETURN
  212.  
  213. SMALLWIN:
  214.     sz$ = UIStartDlg(CUIDLL$, SMALLWIN, "FInfo0DlgProc", 0, "")
  215.     IF sz$ = "REACTIVATE" THEN
  216.     GOTO SMALLWIN
  217.     END IF
  218.     UIPop 1
  219.     RETURN
  220.  
  221. BADPATH:
  222.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  223.     IF sz$ = "REACTIVATE" THEN
  224.     GOTO BADPATH
  225.     END IF
  226.     UIPop 1
  227.     RETURN
  228.  
  229. '**
  230. '** Purpose:
  231. '**     Performs all installation operations.
  232. '** Arguments:
  233. '**     none.
  234. '** Returns:
  235. '**     none.
  236. '*************************************************************************
  237. SUB Install STATIC
  238.  
  239.     SetRestartDir WinDir$
  240.     CopyFilesInCopyList
  241.  
  242. ''Updating WIN.INI and SYSTEM.INI
  243.     IF VflatdPresent() = 0 THEN
  244.        CreateSysIniKeyValue WinDir$ + "system.ini", "386Enh", "device", "dva.386", cmoOverwrite
  245.     END IF
  246.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
  247.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  248.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV31", "indeov.drv", cmoOverwrite
  249.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MRLE", "MSRLE.drv", cmoOverwrite
  250.     I% = DoesIniKeyExist ("system.ini", "Drivers", "VIDC.RT21")
  251.     IF I% = 0  THEN
  252.        CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "indeov.drv", cmoOverwrite
  253.     END IF
  254.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.YVU9", "indeov.drv", cmoOverwrite
  255.     CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  256.     CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  257.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
  258.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
  259.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
  260.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite
  261.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite
  262.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.00", cmoOverwrite
  263.     
  264.  
  265.     CreateIniKeyValue "WIN.INI", "QuickTour5", "cdrom", cdromdrive$, cmoOverwrite
  266.     CreateIniKeyValue "WIN.INI", "QuickTour5", "progpath", DESTQT$+"\qtour5.exe", cmoOverwrite    
  267.  
  268.     CreateProgmanGroup "Corel QuickTour 5", "", cmoNone
  269.     ShowProgmanGroup  "Corel QuickTour 5", 1, cmoNone
  270.     CreateProgmanItem "Corel QuickTour 5", "QuickTour 5", DESTQT$+"\qtour5.exe" , "", cmoOverwrite
  271.  
  272.     Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
  273.     Run ("regedit.exe /s " + MakePath(WinSysDir$, "OLE2.reg"))
  274.     Run ("regedit.exe /s " + MakePath(WinSysDir$, "cleanup.reg"))
  275.  
  276. '' Mplayer
  277.     CreateProgmanItem "Accessories", "Media Player", MakePath(WinDir$, "mplayer.exe"), "", cmoOverwrite
  278.  
  279.     Run ("profdisp.exe")   
  280. END SUB
  281.  
  282. '**
  283. '** Purpose:
  284. '**     Appends a file name to the end of a directory path,
  285. '**     inserting a backslash character as needed.
  286. '** Arguments:
  287. '**     szDir$  - full directory path (with optional ending "\")
  288. '**     szFile$ - filename to append to directory
  289. '** Returns:
  290. '**     Resulting fully qualified path name.
  291. '*************************************************************************
  292. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  293.     IF szDir$ = "" THEN
  294.     MakePath = szFile$
  295.     ELSEIF szFile$ = "" THEN
  296.     MakePath = szDir$
  297.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  298.     MakePath = szDir$ + szFile$
  299.     ELSE
  300.     MakePath = szDir$ + "\" + szFile$
  301.     END IF
  302. END FUNCTION
  303.  
  304.